package edu.paper.job.service;

import java.io.Serializable;
import java.util.List;

import edu.paper.job.domain.Resume;

/**
 * 简历业务逻辑
 * @author bowen
 *
 */
public interface ResumeService {
	public List<Resume> find(Resume resume);		//带条件查询，可以为空，为空时查询所有
	public Resume get(Serializable id);		//查询一个
	public void insert(Resume resume);		//保存
	public void update(Resume resume);		//更新数据
	public void deleteById(Serializable id);		//删除一个
	public void delete(Serializable ids[]);		//删除一批
	
	/**
	 * 删除简历，如果没有企业浏览该简历，就真的删除简历
	 * @param resume
	 */
	public void deleteResume(Resume resume);
	/**
	 * 增加简历
	 * @param resume
	 */
	public void insertResume(Resume resume);
	/**
	 * 发布简历
	 * @param resume
	 */
	public void publishResume(Resume resume);
	/**
	 * 更新简历，附带防止发布简历发布重复
	 * @param resume
	 */
	public void updateResume(Resume resume);
	/**
	 * 撤销简历，即不让别人看到
	 * @param resume
	 */
	public void coverResume(Resume resume);
	/**
	 * 列出求职者没被删除的简历
	 * @return list
	 */
	public List<Resume> listApplicantResumes(Resume resume);
	/**
	 * 列出求职者发布，没被删除的简历
	 * @return list
	 */
	public List<Resume> listPublishedResumes(Resume resume);
	
	
	/**
	 * 根据条件模糊查询简历
	 * @param resume
	 * @return 返回符合条件的集合
	 */
	public List<Resume> query(Resume resume);
	
	
	/**
	 * 根据条件模糊查询求职者未删除发布的简历
	 * @param resume
	 * @return 返回符合条件的集合
	 */
	public List<Resume> queryResume(Resume resume);
}
